In storage systems, the entire content of a relatively large object (e.g., a video, data file, picture, document, spreadsheet, etc.) is hashed by a lone device to generate a relatively small hash value. The hash value of the object may then be incorporated into a fingerprint along with additional information about the object (e.g., the size of the original content, etc.) The fingerprint may then be used to uniquely identify the original object for data deduplication purposes.
Unfortunately, the available algorithms used to generate the hash value included in the fingerprint have drawbacks. For example, the faster hash algorithms tend to produce less unique hash values, which have a detrimental impact on the data deduplication process. In contrast, the slower hash algorithms provide more unique or robust hash values, but command a relatively large amount of processing resources to do so.